import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class utama_Perpustakaan extends JFrame {
  JMenuBar menuBar = new JMenuBar();
  JMenu menu_file = new JMenu();
  JMenuItem file_keluar = new JMenuItem();
  JMenu menu_input = new JMenu();
  JMenu menu_proses = new JMenu();
  JMenuItem input_buku = new JMenuItem();
  JMenuItem input_anggota = new JMenuItem();
  JMenuItem proses_pinjam = new JMenuItem();
  JMenuItem proses_kembali = new JMenuItem();
  JDesktopPane desk = new JDesktopPane();

  public static void main(String[] args) {
    try {
      UIManager.setLookAndFeel(
          "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    }
    catch (Exception ignored) {
    }

    new utama_Perpustakaan();
  }


  public utama_Perpustakaan() {
    super(".:: Aplikasi Sistem Informasi Data Perpustakaan Midiyaqa By Group 2 ::.");
    setJMenuBar(menuBar);
    setContentPane(desk);
    tampilanGUI();

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
    setSize(screen.width, screen.height - 40);
    setVisible(true);

    prosesMenu();

    koneksi_database kon = new koneksi_database();
    kon.load_DriverJDBC();
  }

  void tampilanGUI() {
    menu_file.setText("File");
    file_keluar.setText("Keluar");
    menu_input.setText("Input Data");
    menu_proses.setText("Proses Data");
    input_buku.setText("Input Data Buku");
    input_anggota.setText("Input Data Anggota");
    proses_pinjam.setText("Peminjaman Buku");
    proses_kembali.setText("Pengembalian Buku");
    menuBar.add(menu_file);
    menuBar.add(menu_input);
    menuBar.add(menu_proses);
    menu_file.addSeparator();
    menu_file.add(file_keluar);
    menu_file.addSeparator();
    menu_input.addSeparator();
    menu_input.add(input_buku);
    menu_input.addSeparator();
    menu_input.add(input_anggota);
    menu_input.addSeparator();
    menu_proses.addSeparator();
    menu_proses.add(proses_pinjam);
    menu_proses.addSeparator();
    menu_proses.add(proses_kembali);
    menu_proses.addSeparator();
  }

  public void prosesMenu() {

    file_keluar.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int tutup = JOptionPane.showConfirmDialog(null,
            "Apakah Anda ingin menutup Aplikasi Ini ???", "Exit",
                                                  JOptionPane.YES_NO_OPTION);
        if (tutup == 0) {
          System.exit(0);
        }
      }
    });

    input_buku.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        desk.removeAll();
        repaint();
        input_Buku input_buku = new input_Buku();
        input_buku.setSize(desk.getSize().width, desk.getSize().height);
        input_buku.show();
        desk.add(input_buku);
        try {
          input_buku.setSelected(true);
        }
        catch (java.beans.PropertyVetoException pv) {}

      }
    });

    input_anggota.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        desk.removeAll();
        repaint();
        input_Anggota input_anggota = new input_Anggota();
        input_anggota.setSize(desk.getSize().width, desk.getSize().height);
        input_anggota.show();
        desk.add(input_anggota);
        try {
          input_anggota.setSelected(true);
        }
        catch (java.beans.PropertyVetoException pv) {}

      }
    });

    proses_pinjam.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        desk.removeAll();
        repaint();
        proses_peminjaman proses_pinjam = new proses_peminjaman();
        proses_pinjam.setSize(desk.getSize().width, desk.getSize().height);
        proses_pinjam.show();
        desk.add(proses_pinjam);
        try {
          proses_pinjam.setSelected(true);
        }
        catch (java.beans.PropertyVetoException pv) {}
      }
    });

    proses_kembali.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        desk.removeAll();
        repaint();
        proses_pengembalian proses_kembali = new proses_pengembalian();
        proses_kembali.setSize(desk.getSize().width, desk.getSize().height);
        proses_kembali.show();
        desk.add(proses_kembali);
        try {
          proses_kembali.setSelected(true);
        }
        catch (java.beans.PropertyVetoException pv) {}
      }
    });
  }

}
